#ifndef _UTILS_AWINDOW_H_
# define _UTILS_AWINDOW_H_

# include "config.h"
# include "Utils\\SDLConfig.h"
# include <SDL/SDL.h>

NS_BEGIN(SDL)
	NS_BEGIN(UTILS)

	class AWindow
	{
	protected:
		SDL_Surface* m_screen;

	public:
		AWindow();
	private:
		AWindow(AWindow const&);
	public:
		virtual ~AWindow();

	private:
		AWindow& operator=(AWindow const&);

	public:
		static bool InitLibs(SDLConfig const& _sdlConfig);
		virtual bool Init(SDLConfig const& _sdlConfig);
		virtual int Exec() = 0;

	private:
		static bool InitSDL(SDLConfig const& _config);
		static bool InitTTF();
	};

	NS_END(UTILS)
NS_END(SDL)

#endif // _UTILS_AWINDOW_H_
